Word processing programs, desktop publishing applications, web publishing and other computer programs conventionally allow users to select different fonts for creating and printing documents. As the number of fonts has increased over the years, it has become more difficult for users to manage different fonts. Creative professionals such as web designers, in particular, need to select from among a broad variety of typefaces and other stylistic options when creating documents, advertisements and the like. Although commercially available software packages typically include a nominal number of fonts with the price of the software, users must frequently pay extra money to install additional fonts on a computer.
Computers typically store fonts in separate files that can be added to or deleted from the computer system as desired. By installing additional font files on a computer, the operating system can make the fonts available to programs running on the computer. When a computer user wishes to use a font from within a word processing program, the program queries the operating system for a list of available fonts. The list of available fonts generally does not include an image showing how each font will appear when used in the program. Thus, a user might not know how a font will appear in their document if it is selected. If a large number of fonts is installed on a single computer, the list of fonts can be unwieldy and difficult to manage. In particular, requiring that a user scroll through a list of thousands of fonts is inconvenient and inefficient. Moreover, the operating system consumes additional memory to maintain information regarding the many different installed fonts and overall performance of the operating system can be severely degraded by having too many fonts loaded into memory at the same time.
One conventional approach for managing a large numbers of fonts on a single computer is shown in FIG. 1. A word processing program 101 interacts with an operating system 102 to “enumerate” fonts that are installed on the computer, and the font details are returned to the program 101. Installed fonts 103 may be stored in a font folder and a system registry database that maintains information regarding the fonts. A font installation program 104 can be used to add or delete fonts from the system.
In one conventional approach, a separate font manager application 106 is added to the basic system to configure fonts into separate groups, each of which can then be “activated” by a user. A separate font grouping database 105 stores information regarding a superset of available fonts arranged into groups (e.g., Font Group 1, Font Group 2), and the user operates font manager application 106 to create new groupings and activate a given font group.
When a font group is activated, the font manager application 106 installs fonts from the activated group in the operating systems installed fonts database 103. When a font group is deactivated, font manager application 106 removes fonts from the operating systems installed fonts database 103. Thus, the operating system only maintains knowledge regarding a small subset of the total universe of fonts that can be installed on the computer, and when the user selects fonts from word processing program 101, the operating system returns information only for those fonts that are installed in the operating systems installed font database 103. One product that provides font management capabilities of the type shown in FIG. 1 is the Adobe Type Manager (ATM) Deluxe product sold by Adobe of San Jose, Calif. In an alternate variation of the scheme in FIG. 1, the font retrieval functions of the operating system are replaced with substitute functions that then reference fonts in a grouped database such as database 105 instead of the installed fonts.
Although the font management scheme illustrated in FIG. 1 has greatly simplified the tasks of creative professionals, several factors have led to the need for additional font management features.
Conventional word processing programs permit users to preview a font if the font is active in the operating system and text in the word processing program has been selected and styled with the chosen font in a particular font size. The user may thus have a difficult time knowing what a font will look like in the document by choosing a font by name from a font selection menu in the word processing application, even if the font names in the selection menu are displayed in a what-you-see-is-what-you-get (wysiwyg) format. A word processing application can typically only display in its font selection menu fonts that are active on the operating system, which usually only includes a subset of all available fonts. Even if the font selection is in wysiwyg format, some fonts might not be displayable in such a format because those font might not have the glyphs to display the letters necessary to spell out the name of the font (for example symbol fonts), making it difficult or tedious to compare different fonts on the same display. As shown in FIG. 2, for example, a conventional font selection dialog box 200 allows the user to select one font (e.g., Times New Roman M) 201 from a list of fonts and one font size (e.g., 14 pt) from a list of font sizes, and a corresponding preview window or area 202 shows what that selected font in the specified font size will look like based on a predetermined sentence fragment (e.g., “The Quick Brown Fox . . . ”). In order to preview another font (or font size), the user must select a different font (or font size), which will then be previewed in the previewing area 202. Consequently, it is unwieldy to browse through a large number of fonts, and difficult or impossible to compare two different fonts and/or font sizes side by side. Similarly, the conventional font manager application 106 of FIG. 1 only permits the user to preview fonts of one font size at a time.
The increasingly networked nature of computers, both in local area networks and as part of the Internet, has led to configurations under which different users in a collaborative setting (e.g., within a company) may have different and potentially conflicting fonts installed on their computers. Thus, for example, if two graphic artists within a corporation have each selectively activated different groups of fonts on their computers, when one artist sends a document to the other artist, the document may not be capable of being displayed on the second computer because of a non-activated font. Consequently, a need exists for resolving these problems.